Database tables may be indexed in order to access data records in a direct or accelerated manner. An index is a meta-data structure that improves the speed of data retrieval operations on a database table, at the cost of storage space to maintain the index data structure. Indexes are used to quickly locate data without having to search every row in the database table every time the database table is accessed. Indexes can be created using one or more columns of the database table, which provide the basis for both rapid random lookups and efficient access of ordered records.
A particular task in various database-related applications is to retrieve only the row of the database table that is the most specific row fulfilling a retrieval request. Hence, in response to the retrieval request, the database application determines the one row of the database table which corresponds to input parameters or criteria in the most specific manner. To this end, a hierarchy of specificity among the rows is generally present in the database table.
A known approach to determine one most specific row within a database table uses the Rete algorithm. The Rete algorithm is a pattern matching algorithm that is used e.g., for implementing production rule systems (e.g., automated planning, expert systems and action selection systems). It is used in order to determine all rules which match the input criteria. Afterwards, a so-called “conflict resolution” is performed which uses an order among the determined rules to identify the one rule which is to be returned.
Improved systems, methods, and computer program products for accessing a database table are needed.